import Utils from '../../vue2-flow/src/utils/Common'
import { Event } from "@/api/EventApi";

/**
 * 事件接口
 */
class EventApi {
  /**
   * 查找所有事件
   * @param callback
   * @returns {Promise<void>}
   * @constructor
   */
  async SearchEvents (callback) {
    const es = await Event.Gets()
    callback(es.Data)
  }

  /**
   * 添加事件
   * @param callback
   * @param EventData
   * @returns {Promise<void>}
   * @constructor
   */
  async Install (EventData, callback) {
    if (!Utils.IsEmpty(EventData.Id) && EventData.Id > 0) {
      this.UpdateEvent(EventData, (res) => {
        callback(res)
      })
      return
    }
    EventData.Id = 0
    const ev = await Event.Save(EventData)
    callback(ev)
  }

  /**
   * 更新事件
   * @param callback
   * @param EventData
   * @returns {Promise<void>}
   * @constructor
   */
  async UpdateEvent (EventData, callback) {
    const ev = await Event.Update(EventData)
    callback(ev)
  }

  /**
   * 删除事件
   * @param callback
   * @param Id
   * @returns {Promise<void>}
   * @constructor
   */
  async DeleteEvent (Id, callback) {
    const ev = await Event.Delete(Id)
    callback(ev.Data)
  }
}

export default EventApi
